package com.yixincaipiao.utils;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017/4/25.
 */

public class JsonUtil {


    /**
     * JSON转换工具
     *
     * @author li.li
     *
     */

    /**
     * JSON转对象
     *
     * @param json  JSON字符串
     * @param clazz 对象类型
     * @return 对象
     */
    public static <T> T parseJson(String json, Class<T> clazz) {
        try {
            Gson gson = new Gson();
            T obj = gson.fromJson(json, clazz);
            return obj;
        } catch (Throwable e) {
            L.e("jsonutils", e.getMessage());
        }
        return null;
    }

    /**
     * JSON转对象
     * <p>
     * Type type = new TypeToken<List<类>>() {}.getType();
     *
     * @param json JSON字符串
     * @param Type 对象类型
     * @return 对象
     */
//    public static <T> List<T> parseArray(String json, Class<T> clazz) {
//        try {
//            Gson gson = new Gson();
//            gson.
////            List<T> obj = JSON.parseArray(json, clazz);
//
////            List<T> obj==new ArrayList<>();
//
//                    Type type = new TypeToken<ArrayList<T>>() {
//            }.getType();
//
//            List<T> obj = gson.fromJson(json, type);
//
//
//            return obj;
//        } catch (Throwable e) {
//        }
//        return null;
//    }

    /**
     * 对象对JSON
     *
     * @param obj 对象
     * @return json字符串
     */
    public static <T> String toJson(T obj) {
        try {
            Gson gson = new Gson();

            String json = gson.toJson(obj);
            return json;
        } catch (Throwable e) {
        }
        return null;
    }


}
